Інформація про новину
  • Переглядів: 1846
  • Дата: 6-10-2021, 18:32
6-10-2021, 18:32

43. Умовні оператори в Python

Категорія: Інформатика





Попередня сторінка:  42. Логічні вирази та змінні й операції ...
Наступна сторінка:   44. Вкладені умови. Множинне розгалужен...

43.1.

ПОВНА ФОРМА РОЗГАЛУЖЕННЯ

У попередньому уроці ми розглянули види логічних виразів. Зараз познайомимося з їхнім використанням в умовних операторах.

У мові програмування Python використовують повну та скорочену форми умовного оператора.

Так, повна форма умовного оператора у Python має вигляд, представлений на рис. 43.1. Також на рисунку представлено відповідну їй блок-схему.

Отже, коли умова є істинною, то виконується СПИСОК_КОМаНД_1, у протилежному випадку буде виконано список_команд_2.

Зверніть увагу на синтаксис та загальну конструкцію програмного коду. Перед умовою встановлено службове слово if, що перекладається як «якщо», після умови встановлюється знак двокрапки, нижче з відступом праворуч записуються команди, що мають бути виконані у разі виконання умови (кожна нова команда буде записана з нового рядка). Нижче, вже без відступу, встановлено службове слово else з двокрапкою (else у перекладі означає «інакше») і на наступному рядку знову з відступом праворуч — перелік команд у разі невиконання умови.

Розглянемо використання умовного оператора при розв’язанні наступної задачі.

ВПРАВА 43.1

Завдання. У Миколи є s гривень. Визначити, чи вистачить йому цих грошей для покупки трьох олівців, які коштують по п гривень. Вивести повідомлення «вистачить» або «не вистачить».

Блок-схема розв’язання даної задачі представлена на рис. 43.2.

Відповідно до блок-схеми спочатку слід увести вхідні дані: s — суму грошей, яку має Микола, та п — вартість одного олівця. Далі слід перевірити, чи буде сума грошей, що є у Миколи, більшою або рівною вартості трьох олівців, а саме s > 3п. Якщо умова буде істинною, то буде виведено «вистачить», у протилежному випадку буде виведено «не вистачить». Відповідно до даної блок-схеми створимо програмний код.

І спосіб.

1. Спочатку введіть вхідні дані.

2. Далі додайте умовний оператор та логічний вираз.

3. Для переходу на наступний рядок натисніть Enter. У результаті в середовищі автоматично має утворитися відступ.

4. Уведіть код для виведення напису «вистачить».

5. Перейдіть на наступний рядок, приберіть відступ та запишіть службове слово.

else:

6. Здійсніть перехід на наступний рядок та запишіть команду виведення напису «не вистачить».

7. Запустіть програму на виконання.

8. Уведіть значення змінної s = 10, п = 3. При цих значеннях Миколі грошей має вистачити.

9. Запустіть програму ще раз. Уведіть s = 10, п = 5. Тепер у Миколи грошей повинно не вистачати.

Як правило, одну й ту саму задачу можна розв’язати кількома способами. Ця задача не виняток, розглянемо й інші способи.

II спосіб.

Так, у задачі ми можемо змінити логічний вираз в умові на протилежний, а саме, s < 3п. Звичайно, в цьому випадку слід поміняти місцями команди виведення повідомлень.

У коді задачі відповідно також буде змінено умову, а також повідомлення у разі виконання або невиконання умови. Отже, оператор розгалуження для цього способу буде мати вигляд:

III спосіб.

Ще один спосіб розглянемо з використанням логічних величин. Після команд уведення даних код буде мати вигляд:

У даному коді перед застосуванням умовного оператора змінній а присвоюється значення логічного виразу. Після цього замість умови в умовному операторі достатньо записати лише змінну а. Якщо ця змінна приймає значення true, то виконується перша команда, в протилежному випадку — команда після службового слова else.

43.2.

СКОРОЧЕНА ФОРМА РОЗГАЛУЖЕННЯ

Крім повної форми умовного оператора, існує скорочена форма (рис. 43.3). На блок-схемі видно, що команди будуть виконуватися лише у разі виконання умови, в протилежному випадку жодних дій виконано не буде.

Розглянемо приклад використання скороченої форми умовного оператора.

ВПРАВА 43.2

Завдання. Створити програму, що буде виводити послідовно три арифметичні вирази, а користувач має надавати на них відповідь. У результаті програма має підрахувати кількість правильних відповідей.

Алгоритм даної програми представлено у вигляді блок-схеми.

Кількість балів буде зберігатися у змінній k. Отже, на початку програми ця змінна має значення 0. Далі на екран буде виведено перший вираз, і програма буде очікувати на відповідь. Значення, уведене користувачем, буде присвоєно змінній а. Після одержання відповіді здійснюється перевірка на правильність відповіді. Якщо відповідь є правильною, то значення змінної/г збільшується на 1. Так це має повторюватися три рази. Після чого буде виведено значення змінної k.

Відповідно до даної блок-схеми створимо програмний код.

1. Надайте змінній k значення 0: к=0

2. Уведіть код виведення завдання та очікування на відповідь:

3. Уведіть умовний оператор: якщо введена користувачем відповідь буде дорівнювати 8, то збільшити значення змінної k на 1:

4. Запишіть код виведення значення змінної к:

5. Запустіть програму і введіть правильну відповідь. Результат має бути 1.

6. Ще раз запустіть програму та введіть неправильну відповідь. Результат має бути 0.

Відповідно до умови задачі ми маємо перевірити правильність виконання трьох виразів.

7. Скопіюйте два рази коди виведення завдання та перевірки правильності відповіді.

8. Замініть запитання та відповіді (2 запитання: 5*3=, 3 запитання: 5-3=).

9. Запустіть програму та перевірте, як вона буде працювати, якщо ввести усі відповіді правильно, дві відповіді правильно, одну або жодної правильної відповіді.

Контрольні запитання та завдання

1. Опишіть синтаксис повної форми розгалуження.

2. У чому відмінність повної форми розгалуження від скороченої?

Питання для роздумів

1*. В яких випадках доцільно використовувати логічні змінні в програмному коді?

2*. Чим відрізняються програмні коди а) і б)? Який результат одержить змінна а в результаті виконання коду а); коду б)?

Завдання для досліджень

1*. Визначте значення змінної а в результаті виконання програмного коду:

2*. Визначте значення змінної х після виконання програмного коду:

 

Це матеріал з підручника Інформатика 8 клас Казанцева, Стеценко (2021)

 




Попередня сторінка:  42. Логічні вирази та змінні й операції ...
Наступна сторінка:   44. Вкладені умови. Множинне розгалужен...



^